﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace UniRlv.COL
{

//必须从0开始定义枚举类型
 public enum package_state{
	PS_UNPACK = 0,//未包装:初始状态
	PS_NORMAL,//整包装
	PS_UNBOX,//散装
	PS_MIX,//拼箱
	PS_ZERO,//零箱
	PS_ZERO_MIX,//零箱拼箱：拼箱后未满足包装关系
};

 public enum message_type{
	MT_LOG = 0,
	MT_WARN,
	MT_ERROR,
};

 public enum code_state{
	CS_UNUSE = 0,
	CS_SCANED,
	CS_PRINTED,
	CS_QJ,
	CS_DEL_MAN,
	CS_DEL_AUTO,
	CS_IMP,
	CS_DISCARDED,
};

 public enum en_code_prc{
	CP_ERR=-1, 
	CP_NORMAL=0, 
	CP_PRC_NORMAL,
	CP_PICK, 
	CP_DUPLICATE, 
	CP_OCR_ERR, 
	CP_INVALID_PARA, 
	CP_PRODUCT_ERR, 
	CP_DB_ERR,
	CP_NO_EXIST,
	CP_LEACK,//最外层码漏采，需要补采
	CP_IMPLEMENT,//补采
	CP_STEPS,//分步骤处理
};

 public enum task_state{
	TS_NEW = 0,
	TS_RUN,
	TS_PAUSE,
	TS_STOP,
	TS_VERIFIED,
	TS_EXPORTED,
};

 public enum date_unit{
	DU_YEAR = 0,
	DU_MONTH,
	DU_DAY,
	DU_HOUR,
	DU_MINUTE,
	DU_SECOND,
};

 public enum code_usage{
	CU_COMMON = 0,
	CU_ONE,
	CU_TWO,
	CU_THREE,
	CU_FOUR,
	CU_AUTO,
	CU_BK1,//备用
	CU_BK2,
	CU_BK3,
};

 public enum object_state{
	OS_UNUSED = 0,
	OS_IN_USE,
};

 public enum async_state{
	ASYNC_GOOD = 1,
	ASYNC_NONE = 0,
	ASYNC_ERROR	= -1,
};

 public enum action_state{
	ACTION_NONE = 0,
	ACTION_ADD ,
	ACTION_DELETE,
	ACTION_MODIFY,
	ACTION_QUERY,
	ASYNC_PRINT,
	ACTION_PREVIEW,
	ACTION_IMPORT,
	ACTION_EXPORT,
	ACTION_ASYNC,
};

 public enum in_device_type{
	IDT_AUTO_SCANER = 0,
	IDT_MANUAL_SCANER ,
	IDT_UNI_SCANER ,
	IDT_FUNC_SCANNER,
	IDT_BORD,
	IDT_OCR_CAMERA,
	IDT_LEVEL_CAMERA,//级别相机，一次性扫描整父包装的所有子码（可含父码）
	IDT_OTHERS,//输入输出采集器
	IDT_OTHERS2,
	IDT_OTHERS3,
};

 public enum out_device_type{
	ODT_PRINTER = 0,
	ODT_DISPLAY,
	ODT_PLC,
	ODT_BORD,
	ODT_RELAY,//继电器板
	ODT_OTHERS,//微嵌电子板卡
	ODT_OTHERS2,
	ODT_OTHERS3,
};

 public enum port_type{
	PT_COMM = 0,
	PT_NET,
	PT_USB,
	PT_PARA,
	PT_PCI,
	PT_ISA,
	PT_PCIX,
	PT_OTHERS,
	PT_OTHERS2,
	PT_OTHERS3,
};

 public enum label_type{
	LT_DATE1 = 0,
	LT_DATE2 ,
	LT_BATCH ,
	LT_PRODUCT ,
	LT_PZWH ,
	LT_GG ,
	LT_QR,
	LT_COMPANY,
};

 public enum display_data_type{
	DDT_ALREADY = 0,
	DDT_REMAIN,
	DDT_TOTAL,
	DDT_LEVEL,
	DDT_RATIO,
	DDT_ALREADY_POS,
	DDT_REMAIN_POS,
	DDT_TOTAL_POS,
	DDT_LEVEL_POS,
	DDT_RATIO_POS,
	DDT_LINE1,
	DDT_LINE2,
	DDT_LINE3,
	DDT_LINE4,
	DDT_TIP,
	DDT_STATUS,
	DDT_CLEAR_SCREEN,
};


public enum exception_proccess{
	EP_LABEL_SWITCH = 0,
	EP_LABEL_BATCH_DELETE,
	EP_LABEL_PACKAGE_DELETE,
	EP_LABEL_REPRINT,
	EP_UNBOX_REMAIN,
	EP_ZERO_REMAIN,
	EP_MERGE_REMAIN,
	EP_DELETE_REMAIN,
	EP_RESTART_TASK,
	EP_LABEL_PRINT,
	EP_VERIFY_TASK,
	EP_QUERY_RLT,
	EP_INSERT,
	EP_SCAN_AUTO,
	EP_APPEND,
    EP_FINISH_TASK,//结束任务
	EP_DELETE_RANGE,//范围删除
	EP_IMPORT_DATASOURCE,//导入数据源
};


public enum post_proccess{
	PP_CANCEL_RLT = 0,
	PP_MERGE_MANUAL,
};

public enum input_output
{
    INPUT = 0,
    OUTPUT,
};

public enum print_word
{
    NONE = 0,
    COMPANY = 1,
    TYM = 2,
    PZWH = 4,
    CODE = 8,
    SCRQ = 16,
    YXQ = 32,
    BATCH = 64,
    GG = 128,
};

public enum en_uniscanner_prc_state
{
    CODE_OK = 0,
    CODE_OPR_OK,
    CODE_OPR_CANCEL,
    CODE_OPR_SCAN,
    CODE_OPR_NEED_OK,
    CODE_OPR_INVALID,
};

public enum en_uniscanner_steps
{
    STEPS_SAVE = 0,
	STEPS_DELETE,
	STEPS_DELETE_SEC,//删除二次扫描码
    STEPS_DELETE_BATCH,
    STEPS_DELETE_PACKAGE,
    STEPS_DELETE_REMAIN,
    STEPS_DELETE_EMPTY,
    STEPS_UNBOX_REMAIN,
    STEPS_ZERO_REMAIN,
    STEPS_SCAN_MANUAL,
    STEPS_SWITCH1,
    STEPS_SWITCH2,
    STEPS_REPLACE1,
    STEPS_REPLACE2,
    STEPS_CHECK1,
    STEPS_CHECK2,
	STEPS_C_CHECK1,
	STEPS_C_CHECK2,
	STEPS_INSERT1,
    STEPS_INSERT2,
    STEPS_RESCAN_BOX,
    STEPS_RESTART,
    STEPS_QUERY_SINGLE,
    STEPS_IMPLEMENT,
    STEPS_REPRINT,
    STEPS_OK,
    STEPS_CANCEL,
    STEPS_ERR
};
}
